package com.beiben.experiment.equipment.mapper;

import java.util.List;
import com.beiben.experiment.equipment.domain.Equipment;
import org.apache.ibatis.annotations.Param;

/**
 * 试验设备\计量设备信息Mapper接口
 * 
 * @author 熊国强
 * @date 2020-11-11
 */
public interface EquipmentMapper 
{
    /**
     * 查询试验设备\计量设备信息
     * 
     * @param equipmentId 试验设备\计量设备信息ID
     * @return 试验设备\计量设备信息
     */
    public Equipment selectEquipmentById(Long equipmentId);

    /**
     * 查询试验设备\计量设备信息列表
     * 
     * @param equipment 试验设备\计量设备信息
     * @return 试验设备\计量设备信息集合
     */
    public List<Equipment> selectEquipmentList(Equipment equipment);

    /**
     * 新增试验设备\计量设备信息
     * 
     * @param equipment 试验设备\计量设备信息
     * @return 结果
     */
    public int insertEquipment(Equipment equipment);

    /**
     * 修改试验设备\计量设备信息
     * 
     * @param equipment 试验设备\计量设备信息
     * @return 结果
     */
    public int updateEquipment(Equipment equipment);

    /**
     * 删除试验设备\计量设备信息
     * 
     * @param equipmentId 试验设备\计量设备信息ID
     * @return 结果
     */
    public int deleteEquipmentById(Long equipmentId);

    /**
     * 批量删除试验设备\计量设备信息
     * 
     * @param equipmentIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteEquipmentByIds(Long[] equipmentIds);

    /**
     * 删除试验设备\计量设备信息
     *
     * @param code 试验设备\计量设备信息编码
     * @return 结果
     */
    public Equipment selectEquipmentByCode(String code);

    /**
     * 修改试验设备\计量设备信息状态
     *
     * @param equipmentIds 试验设备\计量设备信息IDS
     * @param useState 使用状态
     * @return 结果
     */
    public int updateEquipmentState(@Param("array") Long[] equipmentIds,@Param("useState") String useState);
}
